Many personal computers include input ports for joysticks, trackballs, and mice. Each of these input devices controls a variable signal indicating the position or displacement of some element. The input devices are employed in playing computer games or supplying input information to the computer.
FIG. 1 is a perspective view of a conventional joystick 1 intended for use with IBM and IBM compatible computers. The joystick 1 includes a housing 2 that forms the base of the joystick and a shaft 3 that is gimbaled so that the shaft of the joystick may be displaced by pivoting about two orthogonal axes. Generally, the joystick includes a "home" position for the shaft so that signals are provided that indicate the displacement of the shaft 3 relative to the home position. In many joysticks, a mechanical release permits the shaft to "float" and move in any direction without restraint or returning to a home position.
FIG. 2 is an internal view of the housing 2 schematically indicating the mechanical elements of the joystick 1. Electrical interconnections are not shown. The joystick includes X and Y potentiometers 10 and 11, i.e., resistors with movable contacts. Each potentiometer includes a rotatable shaft for moving the contact along the fixed resistance element between the input and output terminals of the potentiometer. The joystick shaft is mounted on a portion of a gimbaled sphere 12. Displacement of the joystick in the X direction causes pivoting of a U-shaped member 13 that is pivotally supported at its opposite ends. That member 13 is mechanically connected to the X potentiometer 10 so that displacement of the joystick shaft 3 in the X direction causes a rotation of the shaft of the X potentiometer 10 and, thereby, of the position of the variable position contact of the potentiometer 10. Likewise, displacement of the shaft 3 along the Y direction causes pivoting of a second support member 14 that is pivotally mounted on the U-shaped member 13. The support member 14 is mechanically connected to the shaft of the Y potentiometer 11 so that a Y direction displacement of the joystick shaft 3 rotates the shaft of the Y potentiometer 11 and, thereby, changes the position of the variable position contact with the Y potentiometer 11.
FIG. 3 is a schematic circuit diagram illustrating the electrical operation of the positional signal information part of the joystick 1. The potentiometers 10 and 11 are electrically connected as variable resistors. One terminal of each of the potentiometers 10 and 11 is connected to the source voltage V.sub.cc, typically 5 volts. Output terminals 15 and 16 are connected to the respective variable position contacts 17 and 18 of the potentiometers 10 and 11. The output terminals 15 and 16 are connected to a computer. The computer senses a part of the supply voltage V.sub.cc depending upon the position of the contacts 17 and 18. The analog amplitude of those voltage signals are processed within the computer and supplied as X and Y input signals to the computer program to produce a response on the computer screen corresponding to the displacement of the joystick shaft 3. Typically, each of the variable resistors formed from the potentiometers 10 and 11 are connected to respective one-shot multivibrators that are part of an input circuit of the computer. The time constants of the respective multivibrators are determined by the values of the variable resistors, i.e., the X and Y displacements of the joystick 3. The durations of the output signals produced by the multivibrators are determined by the respective time constants. The durations of the output signals are detected and used by the computer to control the motion and position of an image on a cathode ray tube or other display device connected to the computer.
The joystick 1 also generally includes X and Y thumbwheels 19 and 20. These thumbwheels are used to adjust the initial positions of the variable position contacts 17 and 18 of the potentiometers 10 and 11 in order to establish desired zero or home positions for signal representing the respective axes. Generally, the thumbwheels 19 and 20 are mechanically connected to the potentiometers 10 and 11, respectively, and cause rotation of the bodies of the potentiometers (while the shafts are stationary), thereby adjusting the home positions of the respective variable position contacts of the potentiometers 10 and 11.
FIG. 4 is a view of a trackball 20 that has basically the same function as the joystick 1. However, instead of using a shaft 3 that is pivotally displaceable, a rolling ball or a sphere 21 is employed to adjust the positions of sliding contacts of respective potentiometers. Likewise, a mouse uses the same structure as a trackball except that the rolling ball is recessed and on the under side of the housing. In each case, frictional engagement between the rolling element and a movable element of a potentiometer provides a variable resistance and, thereby, a variable part of V.sub.cc to a computer input terminal.
The analog joystick and similar position-indicating input devices traditionally employed with IBM and IBM compatible personal computers have numerous difficulties in operation. Frequently, the center or zero position of the joystick is not stable and will shift the controlled image on the computer screen right, left, down, up, toward the upper or lower right hand, or the upper or lower left hand corner of the screen. Sometimes the joystick cannot move the corresponding image on a screen fully downward, fully to the right side, or fully to the lower right hand corner of the screen. There are a variety of explanations for these problems. The analog signals produced by the joystick are supplied to an interface card that includes the game port of the computer. Sometimes the values of some of the electrical components on the interface card are outside of tolerance limits and, therefore, the interface card supplies inaccurate signals to the central processing unit (CPU) of the computer. In addition, the tolerances of the maximum resistance, and taper, i.e., resistance as a function of variable contact position, of the potentiometers used in a joystick may contribute error in joystick operation.
Generally, the potentiometers employed in the conventionally-available joysticks have maximum resistances of 100 to 150 k.OMEGA.. In some instances, certain game software requires a higher or a lower resistance than is used in the generally available joysticks. Software designed for different resistance potentiometers providing different amplitude ranges of the analog signals does not produce correct results with the conventionally-available IBM compatible joysticks. Specially constructed joysticks are expensive and increase the effective cost of the games for which they are needed.
The problems with conventional IBM compatible joysticks can be remedied in several ways. Specially designed game port interface cards may be added to a computer in order to improve the accuracy of the response to a joystick. However, this solution is relatively expensive. Game software can be modified to take into account errors, variations, or the limited range of a particular joystick. However, the software may not be successful in accommodating the characteristics of more than one joystick. Moreover, that accommodation may only be effective with a single computer program.